package com.qfedu.sem.service;

import java.util.List;
import java.util.Map;

import org.springframework.web.multipart.MultipartFile;

import com.qfedu.sem.dto.BugDto;
import com.qfedu.sem.dto.BugLogDto;

import wo.bsys.vo.WoUser;
import wo.common.entity.WoPage;

public interface BugService {

	String root = "D:/doc/CD-1806/uploads/";
	
	/**
	 * DataTable获取故障列表数据.
	 * @param start 当前页开始索引,从0开始
	 * @param length 当前页最大行数
	 * @param searchContent 查询内容
	 * @param dir 排序方式
	 * @return
	 */
	WoPage<BugDto> getPageData(Long start, Long length, String searchContent, String dir);
	
	/**
	 * 创建故障
	 * @param dto
	 */
	void create(BugDto dto, MultipartFile imageFile, WoUser woUser);

	/**
	 * 根据id获取故障数据
	 * @param id
	 * @return
	 */
	BugDto getById(String id);

	void fix(BugDto dto, WoUser currentUser);

	void test(BugDto dto, WoUser currentUser);

	BugLogDto getLogById(String id);

	List<BugDto> getAll();

	Map<String, Integer> getBugsByVersion(String projectId, String currentNode);
	
	/**
	 * 根据id数组删除一个或者多个故障
	 * @param id
	 */
	void delete(String[] id);

	/**
	 * @param start
	 * @param length
	 * @param searchContent
	 * @param dir
	 * @param currentUser
	 * @param staffType 
	 * @return
	 */
	WoPage<BugDto> getPageData(Long start, Long length, String searchContent, String dir, WoUser currentUser, String staffType);
}
